Database Tutorials SQLite এর সাথে Flask Integration গাইড ও নোট

336

Flask একটি মাইক্রো ওয়েব ফ্রেমওয়ার্ক যা পিথনে লেখা হয়, এবং এটি সহজেই ওয়েব অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে। Flask-এ SQLite ব্যবহার করা খুবই সহজ এবং এটি ছোট অ্যাপ্লিকেশন এবং প্রোটোটাইপ ডেভেলপমেন্টের জন্য আদর্শ। SQLite একটি সার্ভারবিহীন, ফাইলভিত্তিক ডাটাবেস, যা Flask অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত।

Flask এর সাথে SQLite ইন্টিগ্রেট করার জন্য আপনাকে শুধুমাত্র একটি SQLite ডাটাবেস ফাইল তৈরি করতে হবে এবং Flask অ্যাপ্লিকেশন থেকে সেটি অ্যাক্সেস করতে হবে।


Flask এর সাথে SQLite ব্যবহার করার জন্য ধাপ:

১. Flask এবং SQLite সেটআপ করা

প্রথমে, আপনি Flask এবং SQLite লাইব্রেরি ইনস্টল করতে হবে। আপনি যদি Flask ইনস্টল না করে থাকেন, তাহলে এটি পিপ (pip) এর মাধ্যমে ইনস্টল করতে পারেন:

pip install Flask

SQLite-এর জন্য Flask আলাদা লাইব্রেরি ব্যবহার করার প্রয়োজন নেই কারণ Python-এ SQLite বিল্ট-ইন থাকে। আপনি sqlite3 লাইব্রেরি ব্যবহার করতে পারেন।


২. Flask অ্যাপ্লিকেশন তৈরি করা

এখন, একটি সাধারণ Flask অ্যাপ্লিকেশন তৈরি করা যাক, যেখানে SQLite ডাটাবেস ব্যবহার করা হবে।

app.py (Flask অ্যাপ্লিকেশন)
from flask import Flask, request, render_template
import sqlite3

app = Flask(__name__)

# SQLite ডাটাবেস ফাইলের সাথে কানেক্ট
def get_db_connection():
    conn = sqlite3.connect('mydatabase.db')
    conn.row_factory = sqlite3.Row  # ডাটাবেস রোকে ডিকশনারি আকারে রিটার্ন করবে
    return conn

# হোম পেজ
@app.route('/')
def index():
    conn = get_db_connection()
    posts = conn.execute('SELECT * FROM posts').fetchall()  # টেবিল থেকে সমস্ত রেকর্ড নির্বাচন
    conn.close()
    return render_template('index.html', posts=posts)

# নতুন পোস্ট ইনসার্ট করা
@app.route('/create', methods=('GET', 'POST'))
def create():
    if request.method == 'POST':
        title = request.form['title']
        content = request.form['content']

        conn = get_db_connection()
        conn.execute('INSERT INTO posts (title, content) VALUES (?, ?)', (title, content))  # ডেটাবেসে ডাটা ইনসার্ট
        conn.commit()
        conn.close()
        return redirect('/')  # হোম পেজে রিডিরেক্ট করবে

    return render_template('create.html')

if __name__ == '__main__':
    app.run(debug=True)

এই Flask অ্যাপ্লিকেশনটি একটি সাধারণ ব্লগ সিস্টেম, যেখানে পোস্ট ইনসার্ট ও দেখানোর কার্যক্রম সম্পাদন করা হবে।


৩. SQLite ডাটাবেস তৈরি করা

এখন, posts নামক একটি টেবিল তৈরি করতে হবে যেটি পোস্টের title এবং content ধারণ করবে।

SQLite ডাটাবেস তৈরি করার জন্য একটি স্ক্রিপ্ট তৈরি করা হবে:

init_db.py
import sqlite3

def init_db():
    conn = sqlite3.connect('mydatabase.db')
    c = conn.cursor()
    c.execute('''CREATE TABLE IF NOT EXISTS posts (
                    id INTEGER PRIMARY KEY AUTOINCREMENT,
                    title TEXT NOT NULL,
                    content TEXT NOT NULL)''')
    conn.commit()
    conn.close()

if __name__ == '__main__':
    init_db()

এটি ডাটাবেস তৈরি করবে এবং posts নামক একটি টেবিল তৈরি করবে।

এখন, আপনি init_db.py স্ক্রিপ্টটি চালিয়ে ডাটাবেস এবং টেবিল তৈরি করতে পারেন:

python init_db.py

৪. HTML টেমপ্লেট তৈরি করা

Flask-এর জন্য HTML টেমপ্লেট তৈরি করতে হবে। এই টেমপ্লেটগুলি ব্যবহারকারী ইন্টারফেস প্রদর্শন করবে।

templates/index.html (পোস্ট দেখানোর জন্য)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Blog</title>
</head>
<body>
    <h1>My Blog</h1>
    <a href="/create">Create a New Post</a>
    <ul>
        {% for post in posts %}
        <li>
            <h2>{{ post['title'] }}</h2>
            <p>{{ post['content'] }}</p>
        </li>
        {% endfor %}
    </ul>
</body>
</html>
templates/create.html (নতুন পোস্ট তৈরি করার জন্য)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Create New Post</title>
</head>
<body>
    <h1>Create New Post</h1>
    <form action="/create" method="POST">
        <label for="title">Title</label>
        <input type="text" id="title" name="title" required><br><br>
        <label for="content">Content</label><br>
        <textarea id="content" name="content" rows="4" required></textarea><br><br>
        <input type="submit" value="Create Post">
    </form>
</body>
</html>

৫. Flask অ্যাপ চালানো

এখন আপনি Flask অ্যাপটি চালাতে পারেন:

python app.py

এটি আপনার ওয়েব ব্রাউজারে http://127.0.0.1:5000/ এ চলে আসবে, যেখানে আপনি পোস্টগুলো দেখতে পারবেন এবং নতুন পোস্ট তৈরি করতে পারবেন।


সারাংশ

Flask এবং SQLite এর ইন্টিগ্রেশন খুবই সহজ এবং শক্তিশালী। এই টিউটোরিয়ালে, আমরা একটি সাধারণ Flask অ্যাপ্লিকেশন তৈরি করেছি যা SQLite ডাটাবেসে পোস্ট সংরক্ষণ এবং প্রদর্শন করতে সক্ষম। Flask অ্যাপ্লিকেশনটি SQLite ডাটাবেসে সংযুক্ত হয়ে কুয়েরি করতে পারে, এবং একটি ছোট ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য এটি একটি খুব কার্যকরী সমাধান।

Content added By
Promotion

Are you sure to start over?

Loading...